1. Field
The disclosure relates generally to fine tuning behavior of an application and more specifically to fine tuning the behavior of the application using a set of zones within the application. Still more specifically, the disclosure relates to allowing special and configurable treatment of the application by an operating system via a set of rules corresponding to each zone in the set of zones within the application during a portion of a lifetime of the application.
2. Description of the Related Art
A thread of execution is the smallest sequence of programmed instructions that can be managed independently by a scheduler, which is typically a part of the operating system. In most cases, a thread is a component of a process. A process is an instance of a software application that is being executed. A software application is a collection of instructions and a process executes those instructions. Multiple threads can exist within one process, execute concurrently (e.g., one thread starting before other threads finish), and share resources such as memory, while different processes do not share these resources. In particular, the threads of a process share its instructions and its context.
Multithreading on a single processor is generally implemented using time slicing and the processor switches between different threads. This context switching generally happens often enough that users perceive the threads as running at the same time. On a multiprocessor or multi-core system, multiple threads can be executed in parallel, with each processor or core executing a separate thread simultaneously.
Applications that use multithreading are more responsive to user input because the user interface stays active as processor-intensive tasks execute on separate threads. Multithreading also is useful in scalable applications because threads may be added as the workload increases. However, multiple threads can interfere with each other when sharing hardware resources, such as caches or buffers. As a result, execution times of a thread are not improved and may be degraded.